# todo: 给定一段英文文本（单词间都是空格分隔），请编写一个函数，将每个单词的首字母转成大写。
# 输入: "auto school of witchcraft and wizardry"
# 输出: "Auto School Of Witchcraft And Wizardry"
text = "auto school of witchcraft and wizardry"
text1 = ""
words = text.split(" ")
for word in words :
    text1 += word[0].upper() + word[1:].lower() +" "
print(text1)




# todo: 给定一个字符串，将它们其中的每个字符（区分大小写）再重复一次。
# 输入: "Hello World"
# 输出: "HHeelllloo  WWoorrlldd"
a = "Hello World"
b = ""
while a :
    b += a[0] + a[0]
    a = a[1:]
print(b)



# todo: 给定一个字符串，将其中的每个单词的字母顺序进行反转。空格的个数不定，记得需要保留所有的空格，请编写一个python函数
# 输入: "hello  world"
# 输出: "olleh  dlrow"
c = "hello  world"
new_words = []
space = c.count(" ")
words = c.split((' '*space))
for word in words:
    word = word[::-1]
    new_words.append(word)
new_text = (" "*space).join(new_words)
print(new_text)






# todo: 请输出1-1000的数字如下格式
# 输入: 1、2、99
# 输出: 0001、0002、0099
e = [1,2,99]
for i in e:
    l = len(str(i))
    if l < 4:
         a = str('0'*(4-l))+str(i)
         print(a)


# todo: 单词都是重复的，字符串去重
# 输入: "Wingardium Leviosa Wingardium Leviosa Expelliarmus Leviosa Expelliarmus"
# 输出: "Wingardium Leviosa Expelliarmus"
d = "Wingardium Leviosa Wingardium Leviosa Expelliarmus Leviosa Expelliarmus"
f = d.split(" ")
g = []
for i in f:
    if i not in g:
        g.append(i)
print(" ".join(g))


# todo: 给定一个由纯数字组成的列表，其中可能存在多个重复的数字，请编写一个函数，将相同数字中先出现的数字移除，只保留该重复数字的最后一个。返回去重后的列表
#  输入: [3, 4, 4, 3, 6, 3]
#  输出: [4, 6, 3]。因为对于数字3，索引是0和3的会被移除；对于数字4，索引1的会被移除。
num = [3, 4, 4, 3, 6, 3]
num1 = []
for i in num:
    if i not in num1:
        num1.append(i)
    else:
        num1.remove(i)
        num1.append(i)
print(num1)



# todo: 给定两个数字列表a 和 b，将列表a中的同时也在b列表中出现的元素移除，并且保留原有的位置顺序。函数返回对比后的列表。
# 输入: a=[1,2,2,2,3], b=[2]，
#  输出: [1, 3]
a = [1,2,2,2,3]
b = [2]
c = []
for i in a:
    if i not in b:
        c.append(i)
print(c)


# todo: 给定一个数字列表，其中每个元素都是正整数。请编写一个函数，将列表整体所代表的数字加1，然后返回成新列表。
#  输入：[2, 3, 9]，输出：[2, 4, 0]
#  输入：[4, 3, 2, 5]，输出：[4, 3, 2, 6]
num = [2, 3, 9]
num1 = []
for i in num:
    num1.append(str(i))
    num2 = int(''.join(num1)) + 1
print(list(map(int, str(num2))))

num3 = [4, 3, 2, 5]
num4 = []
for s in num3:
    num4.append(str(s))
    num5 = int(''.join(num4)) + 1
print(list(map(int, str(num5))))



#  todo: 你一个数字列表nums，请编写一个函数，将列表中的元素向右移动 k 个位置，然后返回移动后的列表。其中 k 是非负数
#  输入: [1,2,3,4,5,6,7], k = 3
#  输出: [5,6,7,1,2,3,4]
a = [1,2,3,4,5,6,7]
k = 3
for i in range(k):
    a.insert(0,a[-1])
    a.pop()
print(a)


